import {LocModel} from "../../../base/LocModel";
import {UnitModel} from "../../../adapterModel/model3/UnitModel";

export let effectAdapter: { adapter: IEffectAdapter } = { adapter: undefined };



export interface IEffectAdapter  {
  createHandleOnUnit(path: string, unitHandle: UnitModel, point: string) :any;
  createHandleOnLoc(path: string, locHandle: LocModel) :any;
  setLoc(handle: any, locHandle: LocModel): void;
  getLoc(handle: any): any;
  getSize(handle: any): number;
  setSize(handle: any, value: number): void;
  setAngleZ(handle: any, value: number): void;
  setAngleX(handle: any, value: number): void;
  setAngleY(handle: any, value: number): void;
  setShow(handle: any, bool: boolean, defaultSize: number): void;
  getShow(handle: any): boolean;

  destroy(handle: any): void;
  bindHandle(handle: any): void;
  equal(handle1: any, handle2: any): boolean
  isValid(handle: any): boolean
}
